home *** CD-ROM | disk | FTP | other *** search
Wrap
// General void read_profile(); void write_profile(); // Error and debugging related void error(char *msg, ...); void info(char *msg, ...); void warning(char *msg, ...); void write_debug_info(); #ifdef _DEBUG #define new DEBUG_NEW #endif // Graphics related void init_directdraw_inawin(); void init_directdraw_notinawin(); void init_directdraw_clipper(); void deinit_directdraw(); void init_fonts(); void deinit_fonts(); void write_frame(); int match_color(COLORREF rgb); LPDIRECTDRAWSURFACE4 create_surface(int w, int h, DWORD caps, DWORD flags); int draw_ok(HRESULT result); void clear(LPDIRECTDRAWSURFACE4 buf, int color = 0); void rotated_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale); void rotated_blit16(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale); void rotated_blit24(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale); void rotated_blit32(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale); void rotated_colormapped_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, int x, int y, fix angle, fix scale, char *colormap); void colormapped_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, LPDIRECTDRAWSURFACE4 src, RECT *srcrect, char *colormap); void gravity_blit(LPDIRECTDRAWSURFACE4 dest, RECT *destrect, int x, int y, short *gravity_map); void create_colormaps(); void create_gravity(); void make_screenshot(); // Input related void init_directinput(); void deinit_directinput(); LPDIRECTINPUTDEVICE2 create_input_device(GUID guid); LPDIRECTINPUTDEVICE2 create_input_device_mouse(); LPDIRECTINPUTDEVICE2 create_input_device_keyboard(); LPDIRECTINPUTDEVICE2 create_input_device_joystick(GUID *guid); void init_keyboard(); void readout_keyboard(); void deinit_keyboard(); void init_joystick(); void deinit_joystick(); void init_mouse(); void acquire_mouse(); void deinit_mouse(); // Sound related void init_directsound(); void init_directsound_primarybuffer(); void deinit_directsound(); void init_music(); void deinit_music(); void play_music(char *name, int loop = FALSE); void replay_music(); void stop_music(); void play_sound(class cWAV *snd, int volume = DSBVOLUME_MAX); // File related char *construct(const char *name, ...); int file_size(const char *fn); char *read_file(const char *fn, int *length = 0); char *read_part_file(const char *fn, int start, int length); void write_file(const char *fn, const char *data, int length); void search_files(const char *dir, const char *mask, void (*callback)(const char *fn, const char *name)); int file_exists(const char *fn); // Gameloop related void deinit_game(); void init_game_data(); void deinit_game_data(); void init_game_loop(); void deinit_game_loop(); void game_loop(); // Level related void load_level(CFile *f, int paste = FALSE); void load_level(char *name, int paste = FALSE); void save_level(CFile *f, int copy = FALSE); void save_level(char *name, int copy = FALSE); void save_level_string(char *label, char *value); void save_level_int(char *label, int value); void save_level_fix(char *label, fix value); void save_level_spot(char *label, class cSpot *spot); void make_level(); void kill_level(); void update_onscreen_list(); void control_level(); void ambient_sounds(); void write_gravity(); // Scrolling void reset_scrolling(); void set_scroll_position(fix fstart); void do_scrolling(); // Editor void draw_grid(); int load_y_offset(class cSurface *surface); // Graphic primitives void lock_surface_for_primitives(cSurface *surface); void unlock_surface_for_primitives(); void pixel(cSurface *surface, int x, int y, int color); void hline(cSurface *surface, int x1, int y1, int x2, int color); void vline(cSurface *surface, int x1, int y1, int y2, int color); void rect(cSurface *surface, int x1, int y1, int x2, int y2, int color); void rectfill(cSurface *surface, int x1, int y1, int x2, int y2, int color); void line(cSurface *surface, int x1, int y1, int x2, int y2, int color); void dashedline(cSurface *surface, int x1, int y1, int x2, int y2, int color); void circle(cSurface *surface, int x, int y, int r, int color); // Math related #define square(x) ((x)*(x)) #define d_square(x, y) (square(x) + square(y)) #define in_range(x, y, r) (d_square(x, y) <= (r)*(r)) #define angle(dx, dy) (atan2((fix)(dy), (fix)(dx))) #define in(x, l, h) ((x >= l) && (x <= h)) // String related #define eq(x, y) (stricmp(x, y) == 0) // Push related #define vpush_tx(dt, dx) ((fix)2 * dx / dt) #define apush_tx(dt, dx) ((fix)-2 * dx / square(dt))